#!/usr/bin/env python3
"""
脚本名称：15_exe.py
面试描述：Python 函数参数 *arg 和 **kwargs 有什么区别?怎么使用?
考察点:
生活比喻：
作者：Gavin
创建日期：2025-05-27
版本：1.0
依赖库：无
使用方法： python 15_exe.py
"""


def demo_args(*args):
    print("类型:", type(args))  # 作为元组传入
    for i, arg in enumerate(args, start=1):
        print(f"参数 {i}: {arg}")


def demo_kwargs(**kwargs):
    print("类型:", type(kwargs))  # 作为字典传入
    for key, value in kwargs.items():
        print(f"参数 {key}: {value}")


# 调用带有 *args 的函数
print("使用 *args 调用 demo_args 函数:")
demo_args(1, 2, 3, "hello", [4, 5, 6])

# 调用带有 **kwargs 的函数
print("\n使用 **kwargs 调用 demo_kwargs 函数:")
demo_kwargs(name="Alice", age=30, location="Wonderland")
